export const propColumns = [
  {
    title: '名称',
    colKey: 'name',
  },
  {
    title: '描述',
    colKey: 'desc',
  },
  {
    title: '数据类型',
    colKey: 'type',
  },
  {
    title: '默认值',
    colKey: 'def',
  },
];

export const emitColumns = [
  {
    title: '名称',
    colKey: 'name',
  },
  {
    title: '描述',
    colKey: 'desc',
  },
  {
    title: '参数',
    colKey: 'param',
  },
];

export const slotColumns = [
  {
    title: '名称',
    colKey: 'name',
  },
  {
    title: '描述',
    colKey: 'desc',
  },
  {
    title: '作用域说明',
    colKey: 'scope',
  },
];

export const apiColumns = [
  {
    title: '名称',
    colKey: 'name',
  },
  {
    title: '描述',
    colKey: 'desc',
  },
  {
    title: '类型',
    colKey: 'type',
  },
  {
    title: '示例',
    colKey: 'sample',
  },
];

export function toDocMd(props, emits, slots, apis) {
  let code = '';
  code += '# 属性\r';
  code += '| 名称 | 描述 | 数据类型 | 默认值 |\r';
  code += '|------|------|------|------|\r';
  for (const x of props) {
    code += `|${x.name}|${x.desc}|${x.type.replaceAll('|', '/')}|${x.def}|\r`;
  }
  code += '\r';

  code += '# 事件\r';
  code += '| 名称 | 描述 | 参数 |\r';
  code += '|------|------|------|\r';
  for (const x of emits) {
    code += `|${x.name}|${x.desc}|${x.param.replaceAll('|', '/')}|\r`;
  }
  code += '\r';

  code += '# 插槽\r';
  code += '| 名称 | 描述 | 作用域说明 |\r';
  code += '|------|------|------|\r';
  for (const x of slots) {
    code += `|${x.name}|${x.desc}|${x.scope}|\r`;
  }
  code += '\r';

  code += '# 方法\r';
  code += '| 名称 | 描述 | 数据类型 | 示例 |\r';
  code += '|------|------|------|------|\r';
  for (const x of apis) {
    code += `|${x.name}|${x.desc}|${x.type.replaceAll('|', '/')}|${x.sample}|\r`;
  }
  code += '\r';

  return code;
}
